package projetolp2.GraphicInterface;


import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class QuantSugestoes extends MealPoints implements ActionListener{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private JPanel painel = new JPanel(new GridLayout(0, 1));
	private JFrame janelaQuantSugestoes = new JFrame();
	private JComboBox QUANTIDADE = new JComboBox();
	private JButton CONTINUAR = new JButton(NomeBotoes.values()[idioma(IDIOMAPROGRAMA )].getContinuar());
	final JLabel label = new JLabel("Meal points");
	private String janelaAparecer = "";
	
	public QuantSugestoes(){
		for(int i = 1;i <= 25;i++){
			QUANTIDADE.addItem(i+"");
		}
	}

	@SuppressWarnings("deprecation")
	@Override
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() == CONTINUAR){
			janela.enable();
			janelaQuantSugestoes.dispose();
			if (janelaAparecer.equals("generica")){
				((SugestoesGenerica) sugestoesGenerica).quantidade(pegaQuant());
				removerAdicionar(sugestoes,((SugestoesGenerica) sugestoesGenerica).panel());				
			}
			else if (janelaAparecer.equals("ALC")){
				((SugestoesALC) sugestoesALC).quantidade(pegaQuant());
				removerAdicionar(sugestoespersonalizadasPrato,((SugestoesALC) sugestoesALC).panel());	
			}
			else if (janelaAparecer.equals("PF")){
				((SugestoesPF) sugestoesPF).quantidade(pegaQuant());
				removerAdicionar(sugestoespersonalizadasPrato,((SugestoesPF) sugestoesPF).panel());				
			}
			else if (janelaAparecer.equals("SS")){
				((SugestoesSS) sugestoesSS).quantidade(pegaQuant());
				removerAdicionar(sugestoespersonalizadasPrato,((SugestoesSS) sugestoesSS).panel());				
			}
			else if (janelaAparecer.equals("USUARIO")){
				((SugestoesUsuario) sugestoesUsuario).quantidade(pegaQuant());
				removerAdicionar(sugestoespersonalizadas,((SugestoesUsuario) sugestoesUsuario).panel());				
			}
			
			else if (janelaAparecer.equals("BU")){		
				((SugestoesTipoBO) sugestoesTipoBO).quantidade(pegaQuant());	
				removerAdicionar(sugestoesTipo,((SugestoesTipoBO) sugestoesTipoBO).panel());	
			}
			else if (janelaAparecer.equals("RE")){		
				((SugestoesTipoRE) sugestoesTipoRE).quantidade(pegaQuant());
				removerAdicionar(sugestoesTipo,((SugestoesTipoRE) sugestoesTipoRE).panel());
			}
			else if (janelaAparecer.equals("CA")){
				((SugestoesTipoCA) sugestoesTipoCA).quantidade(pegaQuant());		
				removerAdicionar(sugestoesTipo,((SugestoesTipoCA) sugestoesTipoCA).panel());	
			}
			else if (janelaAparecer.equals("IN")){
				((SugestoesTipoIN) sugestoesTipoIN).quantidade(pegaQuant());
				removerAdicionar(sugestoesTipo,((SugestoesTipoIN) sugestoesTipoIN).panel());	
			}
			else if (janelaAparecer.equals("LO")){
				((SugestoesLocal) sugestoesLocal).quantidade(pegaQuant());
				removerAdicionar(sugestoespersonalizadas,((SugestoesLocal) sugestoesLocal).panel());	
			}
			else if (janelaAparecer.equals("FILTRO")){
				((Filtropag2)sugestoesFiltropg2).quantidade(pegaQuant());
				removerAdicionar(sugestoespersonalizadasFiltro,((Filtropag2) sugestoesFiltropg2).panel());	
			}
		}
	}
	private void ajudaDeBotoes() {
		CONTINUAR.setToolTipText("Prosseguir em sugestoes");
		QUANTIDADE.setToolTipText("Escolha a quantidade de sugestoes");
	}
	private void createComponents() {
		ajudaDeBotoes();
		
		janelaQuantSugestoes.setSize(200,140);//Tamanho da janela
		janelaQuantSugestoes.setResizable(true);//pode redimensionar a janela
		janelaQuantSugestoes.setLocation(30,30);
		janelaQuantSugestoes.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		janelaQuantSugestoes.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		janelaQuantSugestoes.addWindowListener(new java.awt.event.WindowAdapter() {   
			@SuppressWarnings("deprecation")
			public void windowClosing(java.awt.event.WindowEvent e) { 
				if (e.getID() == WindowEvent.WINDOW_CLOSING){   
					janelaQuantSugestoes.dispose();
					janela.enable(true);
				}
			}
		});
		
		CONTINUAR.setMnemonic(KeyEvent.VK_I);
		CONTINUAR.addActionListener(this);
        label.setLabelFor(CONTINUAR);
        
		painel.add(QUANTIDADE);
		painel.add(CONTINUAR);
        painel.setBorder(BorderFactory.createEmptyBorder(
                30, //top
                30, //left
                30, //bottom
                30) //right
                );
        
        janelaQuantSugestoes.add(painel);
    }
	private int pegaQuant(){
		return Integer.parseInt(QUANTIDADE.getSelectedItem().toString());
	}
	public Component janelaQuant(){
		createComponents();
		
		
		return janelaQuantSugestoes;
	}

	public void abilitaDesabilita(boolean escolha, String janela) {
		janelaAparecer = janela;
		createComponents();
		janelaQuantSugestoes.setVisible(escolha);
	}
}
